package com.exam.entity;
//这个类使用了JPA（Java Persistence API）注解来映射到数据库中的一张表
import javax.persistence.*;
//类通过使用JPA注解，将Java类的属性映射到数据库表的列，实现了对象关系映射（ORM）。
// 这样，我们就可以使用JPA的API来操作Admin实体类，实现对数据库表中管理员数据的增删改查操作。
@Entity
//这个注解表示该类是一个实体类，会被JPA管理，并映射到数据库中的一张表。
@Table(name = "admin")
//这个注解指定了实体类对应的表名为admin。
public class Admin {

    @Id//@Id：这个注解表示adminId属性是实体类的主键。
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    //这个注解表示adminId属性的值会自动生成，使用自增策略。
    @Column(name = "admin_id")
    private Integer adminId;
//@Column(name = "role", length = 50)：这个注解表示role属性映射到数据库表中的role列，最大长度为50。
    @Column(name = "admin_name", nullable = false, length = 255)
    private String adminName;

    @Column(name = "sex", length = 10)
    private String sex;

    @Column(name = "tel", length = 20, unique = true)
    private String tel;

    @Column(name = "email", length = 255, unique = true)
    private String email;

    @Column(name = "pwd", nullable = false, length = 255)
    private String pwd;

    @Column(name = "card_id", length = 20)
    private String cardId;

    @Column(name = "role", length = 50)
    private String role;

    // Getters and Setters
    public Integer getAdminId() {
        return adminId;
    }

    public void setAdminId(Integer adminId) {
        this.adminId = adminId;
    }

    public String getAdminName() {
        return adminName;
    }

    public void setAdminName(String adminName) {
        this.adminName = adminName == null ? null : adminName.trim();
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex == null ? null : sex.trim();
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel == null ? null : tel.trim();
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email == null ? null : email.trim();
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd == null ? null : pwd.trim();
    }

    public String getCardId() {
        return cardId;
    }

    public void setCardId(String cardId) {
        this.cardId = cardId == null ? null : cardId.trim();
    }

    public String getRole() {
        return role;
    }

    public void setRole(String role) {
        this.role = role == null ? null : role.trim();
    }
}